package com.example.ws.handler.elog;

import io.javalin.apibuilder.EndpointGroup;

import static io.javalin.apibuilder.ApiBuilder.*;

import java.util.List;


import io.javalin.http.Context;


/**
 * 1. 抓取浏览器控制台日志、解析、输出
 * 2. 获取本地指定路径console.log日志，解析动态输出
 *    2.1 每次更新请求允许请求全部 | 请求更新部分
 * 3. 解析这一块需要将role结构单独替换一个标签，将role另外存储以不影响观感
 * 4. 自动请求页面获取浏览器控制台cookie - 如果可以实现的话
 */
public class ELogHandler implements EndpointGroup {

	private static ELogService eLogService = ELogService.instance;

	@Override
	public void addEndpoints() {
        
        get("log", ELogHandler::log);
        get("log/local", ELogHandler::logLocal);
    
    }

	public static void log(Context ctx) {
		String cookie = ctx.queryParam("cookie");
		System.out.println("cookie" + cookie);
		if (cookie == null) {
			ctx.status(400);
			return;
		}
		ctx.json(eLogService.log(cookie), List.class);	
	}
    
	public static void logLocal(Context ctx) {
	
		ctx.json(eLogService.logLocal(0), List.class);
	}

}
